package com.huaxin.hxmodulesystem.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

@Data
@Schema(description = "更新权限请求DTO")
public class UpdatePermissionReqDTO {

    @Schema(description = "权限ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "p123456789")
    private String id;

    @Schema(description = "权限标识（如: order.create）", requiredMode = Schema.RequiredMode.REQUIRED, example = "order.create")
    private String permissionKey;
    
    @Schema(description = "描述", example = "创建订单权限（已更新）")
    private String description;
    /**
     * 权限名称
     */
    @Schema(description = "权限名称", example = "删除用户")
    private String permissionName;

    @Schema(description = "功能路径", example = "/api/v2/order/create")
    private String functionPath;

    @Schema(description = "功能类型：1-应用端；2-模块；3-页面；4-功能；5-按钮", example = "5")
    private Integer type;
    /**
     * 应用类型：1-APP；2-小程序；3-企业管理后台；4-大屏；5-系统管理后台
     */
    @Schema(description = "应用类型：1-APP；2-小程序；3-企业管理后台；4-大屏；5-系统管理后台", example = "3")
    private Integer applicationType;

    /**
     * 访问权限类型：1-普通用户功能；2-企业用户功能；
     */
    @Schema(description = "功能类型：1-普通用户功能；2-企业用户功能；", example = "1")
    private Integer userType;
    /**
     * 父级权限ID
     */
    @Schema(description = "父级权限ID", example = "1")
    private String parentId;
}